texture1:pointer
Otázka od: P&v
5. 10. 2004 19:29
Ahoj,
snazim se trochu v openGl a mam problem.
Textury nacitam podle tutorialu procedurou
auxDIBImageLoadA do promene tohoto typu:
type TAUX_RGBImageRec= record
sizeX, sizeY: TGLint;
data: pointer;
end;
PTAUX_RGBImageRec= ^TAUX_RGBImageRec;
Moje zacatecnicka otazka zni, jak mam tyto informace, na nez ukazuje
"data" pozmenit? Tzn. jak se pracuje s typem obecny pointer? Umim
pouze typove ukazatele.
Hledal jsem googlem, ale nic nemam.
Pokud si nekdo udela cas na odpoved, budu rad.
dik, d
Odpovedá: Pavol Stugel, NETGraphics
6. 10. 2004 6:48
> Textury nacitam podle tutorialu procedurou
> auxDIBImageLoadA do promene tohoto typu:
>
> type TAUX_RGBImageRec= record
> sizeX, sizeY: TGLint;
> data: pointer;
> end;
> PTAUX_RGBImageRec= ^TAUX_RGBImageRec;
>
> Moje zacatecnicka otazka zni, jak mam tyto informace, na nez ukazuje
> "data" pozmenit? Tzn. jak se pracuje s typem obecny pointer? Umim
> pouze typove ukazatele.
data su formatu RGB, ak nie je alpha , ak je tak staci doplnit...
type
TRGB24 = record
R,G,B: Byte;
end;
TData = array [0..0]of TRGB24;
potom napr. jednoducho bielu farbu v prvom riadku nastavis takto:
var p: ^TData;
test: PTAUX_RGBImageRec;
i: Integer;
begin
*LoadFromFILE*(test);
p := test^.data;
for i := 0 to test^.sizeX -1 do
with p[i] do
begin
r:= 255;g:=255;b:=255;
end;
end;
ked uz posles texturu do grafickej karty tak uz ju vies zmodifikovat
iba ak ju znova posles ...
palo
Odpovedá: P&v
7. 10. 2004 5:59
> > Textury nacitam podle tutorialu procedurou
> > auxDIBImageLoadA do promene tohoto typu:
> >
> > type TAUX_RGBImageRec= record
> > sizeX, sizeY: TGLint;
> > data: pointer;
> > end;
> > PTAUX_RGBImageRec= ^TAUX_RGBImageRec;
> >
> > Moje zacatecnicka otazka zni, jak mam tyto informace, na nez ukazuje
> > "data" pozmenit? Tzn. jak se pracuje s typem obecny pointer? Umim
> > pouze typove ukazatele.
>
> data su formatu RGB, ak nie je alpha , ak je tak staci doplnit...
>
> type
> TRGB24 = record
> R,G,B: Byte;
> end;
> TData = array [0..0]of TRGB24;
>
>
> potom napr. jednoducho bielu farbu v prvom riadku nastavis takto:
>
> var p: ^TData;
> test: PTAUX_RGBImageRec;
> i: Integer;
> begin
> *LoadFromFILE*(test);
> p := test^.data;
>
> for i := 0 to test^.sizeX -1 do
> with p[i] do
> begin
> r:= 255;g:=255;b:=255;
> end;
>
> end;
>
> ked uz posles texturu do grafickej karty tak uz ju vies zmodifikovat
> iba ak ju znova posles ...
>
> palo
>
>
dik moc, cosi jsem udelal, vecer to vystavim
d
Odpovedá: P&v
7. 10. 2004 17:15
> > Textury nacitam podle tutorialu procedurou
> > auxDIBImageLoadA do promene tohoto typu:
> >
> > type TAUX_RGBImageRec= record
> > sizeX, sizeY: TGLint;
> > data: pointer;
> > end;
> > PTAUX_RGBImageRec= ^TAUX_RGBImageRec;
> >
> > Moje zacatecnicka otazka zni, jak mam tyto informace, na nez ukazuje
> > "data" pozmenit? Tzn. jak se pracuje s typem obecny pointer? Umim
> > pouze typove ukazatele.
>
> data su formatu RGB, ak nie je alpha , ak je tak staci doplnit...
>
> type
> TRGB24 = record
> R,G,B: Byte;
> end;
> TData = array [0..0]of TRGB24;
>
>
> potom napr. jednoducho bielu farbu v prvom riadku nastavis takto:
>
> var p: ^TData;
> test: PTAUX_RGBImageRec;
> i: Integer;
> begin
> *LoadFromFILE*(test);
> p := test^.data;
>
> for i := 0 to test^.sizeX -1 do
> with p[i] do
> begin
> r:= 255;g:=255;b:=255;
> end;
>
> end;
>
> ked uz posles texturu do grafickej karty tak uz ju vies zmodifikovat
> iba ak ju znova posles ...
>
> palo
>
Tak jo. Je to zde:
http://z44.iglu.cz/tex.zip
dik moc